package org.fujay.langchain4jserver.domain.application.exception;

import org.fujay.langchain4jserver.domain.application.vo.AppId;

/**
 * 当尝试访问或操作不存在的应用时抛出此异常。
 */
public class ApplicationNotFoundException extends RuntimeException {

    private static final String MESSAGE_TEMPLATE = "未找到 ID 为 [%s] 的应用。";

    public ApplicationNotFoundException(AppId appId) {
        super(String.format(MESSAGE_TEMPLATE, appId != null ? appId.value() : "<null>"));
    }

    public ApplicationNotFoundException(AppId appId, Throwable cause) {
        super(String.format(MESSAGE_TEMPLATE, appId != null ? appId.value() : "<null>"), cause);
    }

    // 可以根据需要添加其他构造函数或属性
}
